<?php
class BlogArts extends CActiveRecord {
    
    public $artId;
    public $catId;
    public $text;
    public $date;
    public $name;
    public $url;
    public $title;
    public $description;
    public $keywords;
    public $leaveCom=1;
    public $about;
    
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }
    
    public function beforeValidate() {
        if(!parent::beforeValidate()) return false;
        $this->attributes = !empty($_POST[get_class($this)]) ? $_POST[get_class($this)] : array();
        return true;
    }
    
    public function rules() {
        return array(
            array('catId, text, name, url', 'required', 'message' => '{attribute} не может быть пустым'),
            array('title, description, keywords, leaveCom, about', 'safe'),
            array('date', 'type', 'type' => 'date', 'message' => 'Не верный формат даты', 'dateFormat' => 'dd.MM.yyyy H:m'),
        );
    }

    public function tableName() {
        return 'blog_arts';
    }
    
    public function beforeSave() {
        if(!parent::beforeSave()) return false;
        if(!empty($this->date)) {
            $date = explode(' ', $this->date);
            $dmy = explode('.', $date[0]);
            $hm = explode(':', $date[1]);
            $this->date = mktime($hm[0], $hm[1], null, $dmy[1], $dmy[0], $dmy[2]);
        } else $this->date = time();
        return true;
    }
    
    public function afterFind() {
        $this->date = date('d.m.Y H:i', $this->date);
    }
    
    public function attributeLabels() {
        return array(
            'catId'=>'Категория',
            'description'=>'Содержимое description',
            'title'=>'Содержимое title',
            'text'=>'Текст статьи',
            'name'=>'Нзвание',
            'url'=>'Урл',
            'leaveCom'=>'Можно кометировать',
            'date'=>'Дата',
            'about'=>'Краткое описание статьи'
        );
    }

    public function pagination($limit, $offset) {
        $this->getDbCriteria()->mergeWith(array(
            'offset' => $offset,
            'limit' => $limit,
        ));
        return $this;
    }
}
